package cn.iocoder.yudao.framework.pay.core.client.impl.pax;

import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils;
import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig;
import javax.validation.Validator;
import javax.validation.constraints.NotBlank;
import lombok.Data;

/**
 * Pax的 PayClientConfig 实现类
 *
 * @author cai
 * @date 2024/02/26 15:40
 */
@Data
public class PaxClientConfig implements PayClientConfig {

    /**
     * 接口地址
     */
    @NotBlank(message = "接口地址不能为空")
    private String host;

    /**
     * 在交易平台创建
     */
    @NotBlank(message = "appKey不能为空")
    private String appKey;

    /**
     * 用于回调验签
     */
    @NotBlank(message = "publicKey不能为空")
    private String publicKey;

    /**
     * 用于请求加签
     */
    @NotBlank(message = "privateKey不能为空")
    private String privateKey;

    /**
     * 商户在开放平台开通小程序后分配的APPID
     */
    private String subAppId;

    @Override
    public void validate(Validator validator) {
        ValidationUtils.validate(validator, this);
    }

}
